	.arch armv8-a
	.arch_extension crc
	.arm
	.text
	.global func
	.type func , %function
func:
	push {r4, r10, fp, lr}
	mov fp, sp
	sub sp, sp, #4
.L27:
	str r0, [fp, #-4]
	ldr r10, [fp, #-4]
	cmp r10, #0
	cmp r10, #50
	movle r4, #1
	movge r4, #0
	ble .L29
	b .L38
.L29:
	ldr r4, [fp, #-4]
	mov r0, r4
	bl putint
	mov r0, #1
	add sp, sp, #4
	pop {r4, r10, fp, lr}
	bx lr
	b .L30
.L30:
	mov r0, #0
	add sp, sp, #4
	pop {r4, r10, fp, lr}
	bx lr
.L31:
	ldr r4, [fp, #-4]
	mov r0, r4
	bl putint
	mov r0, #0
	add sp, sp, #4
	pop {r4, r10, fp, lr}
	bx lr
	b .L30
.L33:
	mov r0, #0
	add sp, sp, #4
	pop {r4, r10, fp, lr}
	bx lr
.L34:
	b .L33
.L38:
	b .L31

	.global main
	.type main , %function
main:
	push {r4, r10, fp, lr}
	mov fp, sp
	sub sp, sp, #4
.L39:
	mov r0, #0
	bl func
	mov r10, r0
	cmp r10, #0
	cmp r10, #1
	beq .L41
	b .L51
.L41:
	ldr r4, =0
	str r4, [fp, #-4]
	b .L42
.L42:
	mov r0, #50
	bl func
	mov r4, r0
	cmp r4, #0
	cmp r4, #1
	beq .L71
	b .L78
.L43:
	ldr r4, =1
	str r4, [fp, #-4]
	b .L42
.L44:
	mov r0, #50
	bl func
	mov r4, r0
	cmp r4, #0
	cmp r4, #1
	beq .L52
	b .L59
.L46:
	mov r0, #0
	add sp, sp, #4
	pop {r4, r10, fp, lr}
	bx lr
.L47:
	b .L46
.L51:
	b .L44
.L52:
	mov r0, #100
	bl func
	mov r4, r0
	cmp r4, #0
	cmp r4, #0
	beq .L41
	b .L66
.L54:
	mov r0, #0
	add sp, sp, #4
	pop {r4, r10, fp, lr}
	bx lr
.L55:
	b .L54
.L59:
	b .L43
.L61:
	mov r0, #0
	add sp, sp, #4
	pop {r4, r10, fp, lr}
	bx lr
.L62:
	b .L61
.L66:
	b .L43
.L67:
	ldr r4, =0
	str r4, [fp, #-4]
	b .L68
.L68:
	mov r0, #0
	add sp, sp, #4
	pop {r4, r10, fp, lr}
	bx lr
.L69:
	ldr r4, =1
	str r4, [fp, #-4]
	b .L68
.L70:
	mov r0, #1
	bl func
	mov r4, r0
	cmp r4, #0
	cmp r4, #1
	beq .L67
	b .L92
.L71:
	mov r0, #40
	bl func
	mov r4, r0
	cmp r4, #0
	cmp r4, #1
	beq .L67
	b .L85
.L73:
	mov r0, #0
	add sp, sp, #4
	pop {r4, r10, fp, lr}
	bx lr
.L74:
	b .L73
.L78:
	b .L70
.L80:
	mov r0, #0
	add sp, sp, #4
	pop {r4, r10, fp, lr}
	bx lr
.L81:
	b .L80
.L85:
	b .L70
.L87:
	mov r0, #0
	add sp, sp, #4
	pop {r4, r10, fp, lr}
	bx lr
.L88:
	b .L87
.L92:
	b .L69

